From be97bad3a0149b1b833b417258f8024314632516 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Sun, 7 Sep 2014 21:24:01 -0400 Subject: [PATCH] Avoid criticals when drags end Its seems that gtk_gesture_get_last_event may return NULL, protect against that to avoid critical warnings. --- gtk/gtkbutton.c | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/gtk/gtkbutton.c b/gtk/gtkbutton.c index 9c1dcb441c..4f0fdc1936 100644 --- a/gtk/gtkbutton.c +++ b/gtk/gtkbutton.c @@ -607,14 +607,17 @@ multipress_released_cb (GtkGestureMultiPress *gesture, GtkButton *button = GTK_BUTTON (widget); GtkButtonPrivate *priv = button->priv; GdkEventSequence *sequence; + const GdkEvent *event; GdkDevice *source; sequence = gtk_gesture_single_get_current_sequence (GTK_GESTURE_SINGLE (gesture)); - source = gdk_event_get_source_device (gtk_gesture_get_last_event (GTK_GESTURE (gesture), - sequence)); - if (gdk_device_get_source (source) == GDK_SOURCE_TOUCHSCREEN) - priv->in_button = FALSE; - + event = gtk_gesture_get_last_event (GTK_GESTURE (gesture), sequence); + if (event) + { + source = gdk_event_get_source_device (event); + if (source && gdk_device_get_source (source) == GDK_SOURCE_TOUCHSCREEN) + priv->in_button = FALSE; + } g_signal_emit (button, button_signals[RELEASED], 0); } -- 2.30.2